/**
 * TetisDB
 *
 * Classe com utidades para todo o sistema
 */

package br.com.tetisdb.util;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;

public class TetisUtil {
    private TetisUtil() {
    }
    
    /**
     * Metodo verifica se a String e valida.
     *
     * @param str String a ser verificada
     * @return Retorna uma booleana se e valida
     */
    public static boolean stringIsValid(String str) {
        return ((str != null) && (str.trim().length() > 0));
    }
    
    /**
     * Retorna uma lista de Field de toda a hierarquia do objeto
     */
    public static List<Field> getFields(Class clazz) {
        ArrayList<Field> lista = new ArrayList<Field>();
        
        while(clazz != null) {
            Field[] fNervoso = clazz.getDeclaredFields();
            
            for(Field f : fNervoso)
                lista.add(f);
            
            clazz = clazz.getSuperclass();
        }
        
        return lista;
    }
}
